#pragma once

/// <summary>
/// ShaderUtil: Utility to compile shader effects
/// <summary>

/**	Author: Dane Bulat
  * Created: 06/2013
  * Last Modified: 30/06/2013
  * Version: v1.0
  */

// Includes
#include "common/d3dx11effect.h"
#include <D3DX11.h>
#include <DxErr.h>
#include <string>

// Class Definition
class ShaderUtil
{
public:

	/// Default Constructor
	ShaderUtil();

	/// Default Destructor
	~ShaderUtil();

	/**	
	  * CompileEffect - Loads and compiles hlsl from text file 
	  * 
	  * @param D3D device pointer.
	  * @param String containing file name to be compiled.
	  * @param Pointer to a D3DX11Effect*.
	  */
	static void CompileEffect(ID3D11Device* device, std::wstring& filename, ID3DX11Effect** effect);
};